//
//  WalletsEntity.h
//  HYApp
//
//  Created by Jianbo Cai on 2020/8/24.
//  Copyright © 2020 Unidax. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <YYModel.h>


typedef NS_OPTIONS(NSUInteger, FunctionActionType) {
    FunctionActionTypeDeposit  = 1 << 0,
    FunctionActionTypeExchange = 1 << 1,
    FunctionActionTypeTransfer = 1 << 2,
    FunctionActionTypeWithdraw = 1 << 3,
};


NS_ASSUME_NONNULL_BEGIN

@interface BalanceListEntity : NSObject

@property (nonatomic, strong) NSString *asset_address;
@property (nonatomic, strong) NSString *asset_symbol;
@property (nonatomic, strong) NSString *available_balance;
@property (nonatomic, strong) NSString *available_balance_display;
@property (nonatomic, strong) NSString *balance;
@property (nonatomic, strong) NSString *balance_display;
@property (nonatomic, strong) NSString *indicative_usd_equivalent;


@property (nonatomic, strong) NSString *imageName;
@property (nonatomic, strong) NSString *assetDescribe;
@property (nonatomic, assign) FunctionActionType actionType;

@end




@interface MetadataEntity : NSObject

@property (nonatomic, strong) NSArray<NSString *> *assets;
@property (nonatomic, strong) NSString *jurisdiction;
@property (nonatomic, strong) NSString *label;
@property (nonatomic, strong) NSString *type;
@property (nonatomic, strong) NSString *wallet_account_number;

@end




@interface ETHEntity : NSObject

@property (nonatomic, strong) NSArray<BalanceListEntity *> *balance;
@property (nonatomic, strong) NSString *created_at;
@property (nonatomic, strong) NSString *updated_at;
@property (nonatomic, strong) MetadataEntity *metadata;
@property (nonatomic, strong) NSString *public_address;
@property (nonatomic, strong) NSString *public_address_btc;
@property (nonatomic, strong) NSString *wallet_id;
@property (nonatomic, strong) NSString *wallet_type;
@property (nonatomic, strong) NSString *private_address;
@property (nonatomic, strong) NSString *disabled;



@property (nonatomic, strong) NSString *usdTotalValue;
@property (nonatomic, strong) NSString *availableTotalValue;

@end


@interface WalletsEntity : NSObject

@property (nonatomic, strong) NSArray<ETHEntity *> *eth;
@property (nonatomic, strong) NSString *last_updated;

@property (nonatomic, strong) ETHEntity *hkAccount;
@property (nonatomic, strong) ETHEntity *usAccount;
@property (nonatomic, strong) ETHEntity *sgAccount;
@property (nonatomic, strong) ETHEntity *digital;

WalletsEntity *Wallets(void);

@end

NS_ASSUME_NONNULL_END
